Molarity to molality
Molality (mi) is the 'working unit' of PHREEQC i.e. this is the unit that is used when passing from solute concentration to activity (ai) and vice versa : $$ a_i = \gamma_i ~ \frac{m_i}{m_i^0} $$
Under SOLUTION, it is possible to define concentrations of elements or valences of elements as "per L" e.g. as mol/L (molarity) (-units mol/L).
The concentration of a solute i expressed in molarity (Ci) is converted to molality (mi) through the following formula (CRC Handbook of Chemistry and Physics) :
$$ m_i = \frac{1000~C_i}{1000~\rho~-~(C_i~M_i)} $$
, where ρ and Mi are respectively the aqueous solution density and the molar mass of the solute i. The aqueous solution density is thus needed to convert molarity to molality. When density measurement is available, it can be entered with -density (in g/cm3) ; this is this value that will be used in the preceding formula to convert molarity to molality. If the density measurement is not available, I recommend to use the -density 1 calculate option (with a database containing -Vm's), especially when the solution is concentrated (see below).
In the Figure below, are compared the calculated (outputted) molalities from inputted molarities of n NaCl solutions with firstly the density 1 calculate option disabled ("_rho-calc_OFF" label in the below graph):
, and secondly enabled ("_rho-calc_ON" label in the below graph):
SOLUTION n
-units mol/L
Na x
Cl x
# density 1 calculate
In these two scripts,
SOLUTION n
-units mol/L
Na x
Cl x
density 1 calculate
x the inputted NaCl molarity, is varying from 0.1 to 4.5. From [NaCl] = 1 mol/L, the -density 1 calculate option needs to be enabled in order to make the outputted molalities fit the experimental data (Table A-4 of Rogers and Pitzer, 1982)).